Cognitive bias determination and modeling

ABSTRACT

In an approach for determining a preferred learning style of the user, a computer receives user information of a user. The computer collects data for user model development, wherein data includes actions performed by the user. The computer creates one or more associations between actions in the collected data for user model development and received user information. The computer determines a preferred learning style of the user based on the created one or more associations.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of data analysis,and more particularly to modeling based on user biases.

Computing systems are utilized by individuals for a variety of purposes,such as; performing work, communicating, storing information,calculating data, entertainment, and convenience. Therefore, based uponachieving one or more specific purposes within the computing system,users interact with multiple different software applications (e.g.,email, Internet browsers, word processors, etc.). While varying purposesmay dictate the specific software applications a user utilizes withinthe computing systems, the manner in which users interact with thecomputing systems varies based on the individual. Individual usersconsume and manipulate information supplied by the software applicationsin different manners based upon preferred learning styles. Learningstyles encompass an individuals' natural or habitual pattern ofacquiring, processing, and responding to information in learningsituations (e.g., visual, verbal, active, sequential, intuitive, etc.).

Regardless of an individual's preferred learning style, users canutilize a common utility, such as a clipboard in conjunction with aclipboard manager, while performing tasks on a computing systems. Theclipboard is a set of functions and messages that enables applicationsoftware to transfer data. As all applications have access to theclipboard, data can be easily transferred between and/or within anapplication. The clipboard manager is a computer program that addsfunctionality to the clipboard of an operating system. Clipboardmanagers enhance the basic functions of cut, copy and paste operationswith one or more features such as multiple buffers and the ability tomerge, split, and edit contents, selecting the buffer to store data froma cut or copy, selecting the buffer the paste data should be retrievedfrom, handling formatted text, tabular data, data objects, media contentand uniform resource locators (URLs), saving copied data to long termstorage, indexing and/or tagging clipped data, and searching saved data.

To determine information regarding users and learning styles, datamining techniques are utilized. The data mining techniques analyze largequantities of data to extract previously unknown patterns utilizingtechniques such as cluster analysis, anomaly detection, and associationrule mining (i.e., dependencies). The extracted information is thentransformed into an understandable structure comprised of patterns andknowledge for further use.

SUMMARY

Aspects of the present invention disclose a method, computer programproduct, and system for determining a preferred learning style of theuser. The method includes one or more computer processors receiving userinformation of a user. The method further includes one or more computerprocessors collecting data for user model development, wherein dataincludes actions performed by the user. The method further includes oneor more computer processors creating one or more associations betweenactions in the collected data for user model development and receiveduser information. The method further includes one or more computerprocessors determining a preferred learning style of the user based onthe created one or more associations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention;

FIG. 2 is a flowchart depicting operational steps of a cognitive biasdetermination and modeling program, on a server within the distributeddata processing environment of FIG. 1, for determining user learningstyles and creating models, in accordance with an embodiment of thepresent invention;

FIG. 3 depicts a cloud computing node executing the cognitive biasdetermination and modeling program in accordance with an embodiment ofthe present invention;

FIG. 4 depicts a cloud computing environment in accordance with anembodiment of the present invention; and

FIG. 5 depicts abstraction model layers in accordance with an embodimentof the present invention.

DETAILED DESCRIPTION

As recognized by embodiments of the present invention, different usersmanipulate, consume, and represent information based upon a preferredlearning style. Embodiments of the present invention further recognizethat by incorporating the learning styles of the users into theinteractions that occur between users and computing systems, thelearning experience and efficiency of the users may be maximized.Embodiments of the present invention gather and analyze userinteractions between software applications and the clipboard that areavailable on computing systems to determine learning styles. Embodimentsof the present invention then create models that represent the learningstyles of the individual users and incorporate the models to dynamicallychange the information to best suit the needs of the users.Additionally, embodiments of the present invention compare the users toform groups of users based on similarities that then allows existingmodels (i.e., previously designed models) to be utilized byinexperienced users for whom individualized models do not exist.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating adistributed data processing environment, generally designated 100, inaccordance with one embodiment of the present invention. FIG. 1 providesonly an illustration of one embodiment and does not imply anylimitations with regard to the environments in which differentembodiments may be implemented.

In the depicted embodiment, distributed data processing environment 100includes client device 110 and server 120 interconnected over network130. Distributed data processing environment 100 may include additionalcomputing devices, mobile computing devices, servers, computers, storagedevices, or other devices not shown.

Client device 110 may be a web server or any other electronic device orcomputing system capable of processing program instructions andreceiving and sending data. In some embodiments, client device 110 maybe a laptop computer, a tablet computer, a netbook computer, a personalcomputer (PC), a desktop computer, a personal digital assistant (PDA), asmart phone, or any programmable electronic device capable ofcommunicating with network 130. In other embodiments, client device 110may represent a server computing system utilizing multiple computers asa server system, such as in a cloud computing environment. In general,client device 110 is representative of any electronic device orcombination of electronic devices capable of executing machine readableprogram instructions as described in greater detail with regard to FIG.3, in accordance with embodiments of the present invention. Clientdevice 110 contains user interface 112, clipboard 114, sourceapplication 116, and destination application 118.

User interface 112 is a program that provides an interface between auser of client device 110 and a plurality of applications that reside onclient device 110 (e.g., clipboard 114, source application 116, anddestination application 118) and/or may be accessed over network 130. Auser interface, such as user interface 112, refers to the information(e.g., graphic, text, sound) that a program presents to a user and thecontrol sequences the user employs to control the program. A variety oftypes of user interfaces exist. In one embodiment, user interface 112 isa graphical user interface. A graphical user interface (GUI) is a typeof interface that allows users to interact with peripheral devices(i.e., external computer hardware that provides input and output for acomputing device, such as a keyboard and mouse) through graphical iconsand visual indicators as opposed to text-based interfaces, typed commandlabels, or text navigation. The actions in GUIs are often performedthrough direct manipulation of the graphical elements. User interface112 sends and receives information to clipboard 114, source application116, destination application 118, and cognitive bias determination andmodeling program 200.

Clipboard 114 is a set of functions and messages that enables theapplication software installed on client device 110 to transfer data.Clipboard 114 is user driven via user interface 112, and initiates inresponse to clipboard commands from the user, such as cut, copy, andpaste (e.g., available through edit menus, shortcut keys, mouse actions,etc.). As the content of clipboard 114 changes through the use ofclipboard commands, a clipboard sequence number is incremented relatingto the tracking of information placed on clipboard 114. Clipboard 114resides on client device 110 and is accessible by user interface 112,source application 116, destination application 118, and cognitive biasdetermination and modeling program 200.

Source application 116 and destination application 118 represent aplurality of application software that reside on client device 110.Application software is a program or group of programs that are designedfor a user to carry out operations for a specific application (e.g.,database programs, word processors, Web browsers, spreadsheets, e-mail,etc.). Source application 116 and destination application 118 arecapable of sending and receiving information to clipboard 114 throughthe utilization of copy, cut, and paste functions. Source application116 represents application software that a user selects information fromby utilizing cut and/or copy functions of clipboard 114. Destinationapplication 118 represents application software that a user designatesto receive cut and/or copied information from clipboard 114 through thepaste function. In the depicted embodiment, source application 116 anddestination application 118 reside on client device 110. In otherembodiments, source application 116 and destination application 118 mayreside on other devices such as server 120, provided that sourceapplication 116 and destination application 118 are accessible to userinterface 112, clipboard 114, and cognitive bias determination andmodeling program 200.

Server 120 may be a management server, a web server, or any otherelectronic device or computing system capable of receiving and sendingdata. In some embodiments, server 120 may be a laptop computer, a tabletcomputer, a netbook computer, a personal computer (PC), a desktopcomputer, a personal digital assistant (PDA), a smart phone, or anyprogrammable device capable of communication with client device 110 overnetwork 130. In other embodiments, server 120 may represent a servercomputing system utilizing multiple computers as a server system, suchas in a cloud computing environment. Server 120 contains user models 122and cognitive bias determination and modeling program 200.

Cognitive bias determination and modeling program 200 is a computerprogram that analyzes the manner in which users extract and utilizeinformation through application software (e.g., source application 116,destination application 118, and clipboard 114) to determine learningstyles associated with the user. Additionally, cognitive biasdetermination and modeling program 200 creates user models 122 based onthe learning styles of users. User models 122 are models that identifyand employ methods to optimally deliver content to users in variousforms such as modifying the layout of a webpage or specifying thecontent to be displayed, and may be tailored based upon informationassociated with the users (e.g., job role, demographics, profession,learning styles, etc.). Content may be modified through implicit,explicit, and/or hybrid personalization (e.g., a combination of implicitand explicit). Implicit personalization is performed based on a profile,behavior or collaboration, and explicit personalization encompasseschanges implemented by the user through features provided by the system.Cognitive bias determination and modeling program 200 may then apply thecreated user models 122 to enhance the experience of existing users ornewer users. User models 122 represent a collection of stored usermodels that continue to be updated and added to as new user models 122are created, and existing user models 122 are updated by cognitive biasdetermination and modeling program 200. In the depicted embodiment,cognitive bias determination and modeling program 200 resides on server120. In another embodiment, cognitive bias determination and modelingprogram 200 may reside on other devices such as client device 110. Inother embodiments, cognitive bias determination and modeling program 200may reside on other servers and client devices not shown, connected overnetwork 130, provided cognitive bias determination and modeling program200 has access to clipboard 114, source application 116 and destinationapplication 118.

Network 130 may be a local area network (LAN), a wide area network (WAN)such as the Internet, a wireless local area network (WLAN), anycombination thereof, or any combination of connections and protocolsthat will support communications between client device 110, server 120,and other computing devices and servers (not shown), in accordance withembodiments of the inventions. Network 130 may include wired, wireless,or fiber optic connections.

FIG. 2 is a flowchart depicting operational steps of cognitive biasdetermination and modeling program 200, a program for determining userlearning styles and creating models, in accordance with an embodiment ofthe present invention. In a preferred embodiment, cognitive biasdetermination and modeling program 200 is an application running in thebackground on client device 110. In another embodiment, cognitive biasdetermination and modeling program 200 may be included as a backgroundservice as part of an operating system. In some embodiments, cognitivebias determination and modeling program 200 may be initiated or closedat any point per the discretion of the user.

In step 202, cognitive bias determination and modeling program 200receives information pertaining to the user. Information pertaining tothe user may include demographic information such as age, gender,education level, profession, job role, etc. In one embodiment, cognitivebias determination and modeling program 200 receives demographic userinformation based on input entered by the user via user interface 112.For example, cognitive bias determination and modeling program 200provides the user with a request for demographic user informationregarding demographics that the user may then choose to accept ordecline. In the event the user accepts the request, cognitive biasdetermination and modeling program 200 provides the user with a seriesof questions regarding the user. Cognitive bias determination andmodeling program 200 then receives responses provided by the userthrough user interface 112 that are stored for further use. However, theuser may selectively choose which questions to answer, such as a usermay select to answer questions regarding gender and level of education,but not age.

In another embodiment, cognitive bias determination and modeling program200 receives information pertaining to the user based on public userinformation from a trusted source (e.g., user account, registrationinformation, databases). For example within a company, cognitive biasdetermination and modeling program 200 extracts user IDs from the logininformation (e.g., at the time of log in, a user provides a user ID andpassword to link to a unique user account). Cognitive bias determinationand modeling program 200 then searches a company database based on theuser ID. From the company database, cognitive bias determination andmodeling program 200 determines public user information pertaining tothe user such as job role, title, department, peer group, etc. Inanother example, cognitive bias determination and modeling program 200extracts the public user information from registration informationinitially entered by the user (e.g., information entered when creating anew user account or registering application software). In some otherembodiment, cognitive bias determination and modeling program 200receives demographic and public user information pertaining to the userbased on a combination of user inputs and from one or more trustedsources.

In decision 204, cognitive bias determination and modeling program 200determines whether user models 122 exist for the user. Cognitive biasdetermination and modeling program 200 searches user models 122 formatches based upon criteria identifying the user (e.g., user id, name,registration information, etc.). For example, previously user id jsmithutilizes cognitive bias determination and modeling program 200 resultingin the creation of user models 122 specifically for jsmith (i.e., jsmithuser models 122 is stored with user id jsmith). User id jsmith logs intoclient device 110 the next morning and initiates cognitive bias anddetermination modeling program 200. Cognitive bias and determinationmodeling program 200 searches user models 122 for jsmith user models122. Upon locating jsmith user models 122 within the overall repositoryof user models 122, cognitive bias determination and modeling program200 determines an existing user models 122 is available for jsmith. Ifcognitive bias determination and modeling program 200 determines usermodels 122 exist for the user (decision 204, yes branch), then cognitivebias determination and modeling program 200 applies user models 122 forthe existing user (step 208). If cognitive bias determination andmodeling program 200 determines user models 122 do not exist for theuser (decision 204, no branch), then cognitive bias determination andmodeling program 200 applies user models 122 based upon similarities(step 206).

In step 206, cognitive bias determination and modeling program 200applies user models 122 based on similarities. Cognitive biasdetermination and modeling program 200 utilizes the received informationpertaining to the user (received in step 202) and searches stored userinformation associated with user models 122 to determine similarities.Cognitive bias determination and modeling program 200 may determinesimilarities based upon one or more user characteristics (e.g.,demographics, job titles, level of education, profession, etc.)utilizing an algorithm to discern the most probable match (e.g.,multiple iterations of matching combined with weighting factors toacquire an overall best match). For example, a new user initiallysupplies demographic information including age range of twenty to thirtyfive, experience of less than a year, and an occupation of mechanicalengineer. Within user models 122, cognitive bias determination andmodeling program 200 identifies user models 122 for engineers, financialanalysts, and lawyers. Cognitive bias determination and modeling program200 may then search within the engineering group for instances of usermodels 122 that match additional demographic information such as agerange and experience to potentially provide a more relevant match. Inanother embodiment when demographic information is not provided,cognitive bias determination and modeling program 200 may determinesimilarities based upon general user information identified by a trustedsource. For example a new hire within a department is assigned the samejob title as an existing employee in the department, therefore cognitivebias determination and modeling program 200 determines the new hire andexisting employee are similar based on job title and identifiesinstances of user models 122 that correspond to the existing employeeand applies the user models 122 for the existing employee to the newhire for use.

In one embodiment after cognitive bias determination and modelingprogram 200 determines a match, cognitive bias determination andmodeling program 200 may automatically apply the matching instances ofuser models 122 to the new user (e.g., applies existing user models 122to the new user). In another embodiment after cognitive biasdetermination and modeling program 200 determines a match, cognitivebias determination and modeling program 200 may provide the user with anoption to apply the matching instances of user models 122 or begin datagathering without applying user models 122 (e.g., allows creation of anew user models 122 or allows use and/or modification to an existinguser models 122). In some other embodiment, cognitive bias determinationand modeling program 200 does not determine a match, and applies generaluser models 122 (e.g., new instances of user models 122 withoutpreference information, most common instances of existing user models122). Additionally, the user may select to discontinue use of usermodels 122 at any point per the discretion of the user. Once cognitivebias determination and modeling program 200 applies user models 122,cognitive bias determination and modeling program 200 may modify themanner in which information is presented to users to accommodatepreferred learning styles. For example, cognitive bias determination andmodeling program 200 provides visual learners information incorporatingadditional graphics whereas a sequential learner receives similarinformation but as an ordered list with graphics removed and/or reduced.

In step 208, cognitive bias determination and modeling program 200applies user models 122 for an existing user (i.e., applies existinguser models 122 created by cognitive bias determination and modelingprogram 200 from a prior session of the user). Cognitive biasdetermination and modeling program 200 may modify the manner in whichinformation is presented through user interface 112 to the existing userbased on a preferred learning style noted within user models 122. Theexisting user may also select to discontinue use of user models 122 atany point per the discretion of the user.

In step 210, cognitive bias determination and modeling program 200,initiates data gathering for development of user models 122. Cognitivebias determination and modeling program 200 gathers data pertaining touser actions and software applications (e.g., source application 116 anddestination application 118) that involve clipboard 114. Cognitive biasdetermination and modeling program 200 gathers data when clipboard 114is active (e.g., application software is opened on client device 110that utilizes clipboard 114, operating software activates clipboard 114,etc.). In the depicted embodiment, source application 116 anddestination application 118 are both active (e.g., two differentapplication software programs, such as a word processing document and aWeb browser). In another embodiment, a single application is active andrepresents both source application 116 and destination application 118.For example, when working within a word processing application, morethan one word processing document may be opened at a time and a user mayinteract with one or more of the opened documents.

In step 212, cognitive bias determination and modeling program 200determines information associated with data transferred to clipboard114. Cognitive bias determination and modeling program 200 determinesinformation that source application 116 transfers to clipboard 114 uponreceipt of the initiation of the cut and/or copy functions. For example,through user interface 112 a user highlights text within a wordprocessing document (e.g., source application 116). The user thenselects the cut and/or copy function that places the selected text onclipboard 114. Once the data transfers to clipboard 114, cognitive biasdetermination and modeling program 200 records and tracks the datatransferred to clipboard 114 (e.g., text, image, hyperlink, etc.) andthe type of program associated with source application 116 (e.g., wordprocessing document, presentation, Web browser, etc.) for further use.In another embodiment, source application 116 may be unavailable, butcognitive bias determination and modeling program 200 infers sourceapplication 116 based upon the sequence and type of actions (e.g., cutand/or copy are associated with source application 116). For example, auser may select and copy an icon located on client device 110 ratherthan information displayed within application software.

In step 214, cognitive bias determination and modeling program 200determines information associated with the transfer of data fromclipboard 114 to destination application 118. Cognitive biasdetermination and modeling program 200 determines informationoriginating from source application 116 transfers from clipboard 114 todestination application 118 upon receipt of the paste function. Forexample after copying a line of text, the user then selects the Webbrowser (e.g., destination application 118) and opens a search website.Through user interface 112 the user then initiates the paste function,thus placing the text residing on clipboard 114 into the search website.Once the data transfers from clipboard 114 to destination application118, cognitive bias determination and modeling program 200 recordsinformation pertaining to destination application 118. For example,cognitive bias determination and modeling program 200 records the typeof program (e.g., word processing document, presentation, Web browser,etc.), and may also include information regarding the utilization of theinformation such as where the information is placed within destinationapplication 118 (e.g., search function, numbered list, document, rowsand columns, etc.). In another embodiment, destination application 118may be unavailable, but cognitive bias determination and modelingprogram 200 infers destination application 118 based upon the sequenceand type of actions (e.g., paste functions are associated withdestination application 118). For example, an image file may be pastedonto the desktop of client device 110, source application 116 may beimage processing software, and destination application 118 is associatedwith as aspect of the operating system.

In step 216, cognitive bias determination and modeling program 200creates user models 122 based on user actions and user information.Cognitive bias determination and modeling program 200 initiates thecreation of user models 122 once information is initially placed uponclipboard 114. Cognitive bias and determination modeling program 200examines the type of application software (e.g., source application 116,destination application 118) and utilization of the informationtransferred to and from clipboard 114 to create user models 122 thatrelate to style preferences (e.g., presentation styles, organizationalstyles, learning styles, etc.). Cognitive bias determination andmodeling program 200 performs feature extraction on the copied data.Feature extraction starts from an initial set of data and builds derivedvalues or features intended to be informative that facilitate learningand generalization. Cognitive bias determination and modeling program200 then discerns salient topics from the extracted features throughlanguage resources such as knowledge bases and lexical resources (e.g.,identifies semantic and syntactic information regarding the extractedfeatures which may the present as clusters around a salient topic).Cognitive bias determination and modeling program 200 applies a densitymodel over a cluster to determine a bias (e.g., learning style).

For example, a sports trainer is disappointed by the performance of astar player, and believes the poor performance is related to an injuryof the back or knee. The sports trainer researches multiple sources forback and knee injuries. As the sports trainer accesses the returnedresults, the sports trainer copies back and knee injury information fromthe various Web pages to clipboard 114 and then pastes the informationinto a spreadsheet. Cognitive bias determination and modeling program200 determines the principle words (e.g., salient topics) associatedwith “back injury” and “knee injury” through latent semantic analysis.The latent semantic analysis is a natural language processing techniquefor extracting and representing contextual-usage meaning of words from acollection of written texts that assumes words close in meaning such ashomonyms and synonyms occur in similar pieces of written text. Withinthe copied and pasted information from clipboard 114, cognitive biasdetermination and modeling program 200 identifies the words spine,vertebral column, spondylolisthesis, cervical radiculopathy, patella,popliteal, meniscus, and anterior cruciate ligament (ACL). Cognitivebias determination and modeling program 200 then clusters the principlewords based on definition similarities found in an online dictionary.Therefore search results associated with “back” such as spine, vertebralcolumn, spondylolisthesis, and cervical radiculopathy comprise onecluster and search results associated with “knee” such as patella,popliteal, meniscus, and ACL comprise another cluster. Cognitive biasdetermination and modeling program 200 determines a cluster densitybased on the density of the cluster relative to an individual principleword (e.g., individual densities are associated with spine, vertebralcolumn, spondylolisthesis, and cervical radiculopathy). Cognitive biasdetermination and modeling program 200 then determines a relativedensity that ranks the potential cognitive biases of back injuries andknee injuries.

In one embodiment, cognitive bias determination and modeling program 200builds a new user models 122 for a new user (i.e., model does not existalready for the user, and user does not utilize similar existing usermodels 122). Cognitive bias determination and modeling program 200builds a new user models 122 based solely on actions performed incurrent user session. In another embodiment, cognitive biasdetermination and modeling program 200 may modify existing user models122 (e.g. new user utilizing an existing similar user models 122,current user utilizes the appropriate existing user models 122 specificto the current user). For example cognitive bias determination andmodeling program 200 may apply user models 122 associated with anexisting user from a prior session thus providing tailored informationgeared to the learning styles of the user. As the user performsadditional actions, cognitive bias determination and modeling program200 acquires additional information. Cognitive bias determination andmodeling program 200 reevaluates the information with the additionalinformation (e.g., performs feature extraction, discerns salient topics,and applies the density model). Cognitive bias determination andmodeling program 200 may then improve user models 122 based on thereevaluated information for the existing user.

In decision 218, cognitive bias determination and modeling program 200determines whether clipboard 114 is active. Cognitive bias determinationand modeling program 200 determines clipboard 114 is active when theuser of user interface 112 initiates additional cut, copy, and/or pastefunctions within source application 116 and/or destination application118. If cognitive bias determination and modeling program 200 determinesclipboard 114 is active (decision 218, yes branch), then cognitive biasdetermination and modeling program 200 determines information associatedwith the cut, copy and/or paste function (step 212). Cognitive biasdetermination and modeling program 200 determines clipboard 114 isinactive when application software such as source application 116 anddestination application 118 are closed (e.g., programs that utilizeclipboard 114 are closed, client device 110 is shutdown, or user selectsto exit cognitive bias determination and modeling program 200). Oncecognitive bias determination and modeling program 200 determinesclipboard 114 is inactive, cognitive bias determination and modelingprogram 200 stores user models 122 based on the information gatheredwithin the user session. Upon the next activation of cognitive biasdetermination and modeling program 200, new and updated user models 122from previous user sessions, are available as existing user models 122.For example, a new user initiates cognitive bias determination andmodeling program 200 which then creates a new user models 122 or workswith a similar existing user models 122. Cognitive bias determinationand modeling program 200 then saves a version of the new user models 122or modified similar existing user models 122 with identifyinginformation for the new user within a repository of tailored existinguser models 122. The new user initiates a new user session withcognitive bias determination and modeling program 200. Cognitive biasdetermination and modeling program 200 recognizes the new user (i.e.,user is no longer new) and applies the appropriate existing user models122. If cognitive bias determination and modeling program 200 determinesclipboard 114 is inactive (decision 218, no branch), cognitive biasdetermination and modeling program 200 analyzes user models 122 to formgroups (step 220).

As subsequent iterations of cognitive bias determination and modelingprogram 200 occur (i.e., steps 212 through 218) based on continuingactions made by the user, cognitive bias and determination modelingprogram 200 incorporates additional interactions with clipboard 114 intouser models 122 (e.g., within a user session, multiple cut, copy, andpaste functions may occur across a multitude of applications). Forexample, a user receives an e-mail inquiring availability, cost, andvendor information for a part number. The user first selects and copiesthe parts number from the e-mail (e.g., source application 116) toclipboard 114 and then pastes the parts number in the search website(e.g., destination application 118). Once results are returned, the usercopies the relevant information from the results to clipboard 114, andcognitive bias determination and modeling program 200 updates sourceapplication 116 to be the accessed website. The user then pastes theinformation on clipboard 114 into a spreadsheet program, and cognitivebias determination and modeling program 200 updates destinationapplication 118 to be the spreadsheet program. Cognitive biasdetermination and modeling program 200 stores the transferredinformation with the corresponding actions within source application 116and destination application 118. The user may then continue to alternatebetween website search results and the spreadsheet program, performingmultiple cut, copy, and/or paste actions that build a table of relevantinformation and further defines user models 122. Cognitive bias anddetermination model program 200 creates user models 122, starting withthe initial cut and/or copy and paste actions, and potentially creates amore comprehensive version of user models 122 as further actions areperformed (e.g., additional data acquired for analysis may providefurther information pertaining to user biases).

In step 220, cognitive bias determination and modeling program 200analyzes user models 122 to form groups. Cognitive bias determinationand modeling program 200 compares the utilizations of source application116, destination application 118, and the content of the informationtransferred via clipboard 114 to form groups of similar user models 122(e.g., cluster analysis, Markov process, etc.). Cognitive biasdetermination and modeling program 200 may identify states, features,and relationships between contents and users associated with user models122 to facilitate group development. For example, a team of ten userspresented with information to research and report upon. The ten usersutilize Web browsers and search utilities to acquire informationhowever, two users create presentations, three users create wordprocessing documents, and five users create spreadsheets. Based on theanalysis, cognitive bias determination and modeling program 200, createsthree groups of user models 122 (e.g., presentation, word processingdocument, and spreadsheet). Cognitive bias determination and modelingprogram 200 may additionally associate the groups with preferredlearning styles. For example the presentation group relates to visuallearners (i.e., learn though graphs, pictures, and diagrams), the wordprocessing document relates to verbal learns (i.e., learn throughhearing or reading information), and the spreadsheet group relates tosequential learners (i.e., learn linearly in an orderly manner).

In step 220, cognitive bias determination and modeling program 200analyzes the groups for similar user demographics. Cognitive biasdetermination and modeling program 200 compares the user informationassociated with user models 122 within the groups to create subgroups.For example, cognitive bias determination and modeling program 200 mayassess the job roles of the ten users for similarities, as job roles mayimpact the manner in which information is utilized by a user. The twousers associated with presentations are sales and marketingrepresentatives, the three users creating the word processing documentare technical writers, and the five users associated with thespreadsheets are engineers and program analysts. In another embodimentwhen provided, cognitive bias determination and modeling program 200 mayadditionally identify similar user demographic information within thegroups forming additional subgroups. For example, cognitive biasdetermination and modeling program 200 determines similarities based onlevels of education, years in industry, age groups, gender, etc.

After the completion of cognitive bias determination and modelingprogram 200, additional users may review the information provided byuser models 122 (e.g., groups characteristics). For example the managerof a department may review user models 122 to determine learning styles.The manager may then modify the manner in which future information ispresented to a group of individuals based upon the best suited learningstyle for the audience. The manager may also utilize the learning stylesto create a team of users with varying or similar learning styles toachieve goals based on perceived needs. Additionally cognitive biasdetermination and modeling program 200 stores the new and/or updateduser models 122 for future assignment to additional users.

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g. networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 3, a schematic of an example of a cloud computingnode is shown. Cloud computing node 300 is only one example of asuitable cloud computing node and is not intended to suggest anylimitation as to the scope of use or functionality of embodiments of theinvention described herein. Regardless, cloud computing node 300 iscapable of being implemented and/or performing any of the functionalityset forth hereinabove.

In cloud computing node 300 there is a computer system/server 312, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 312 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 312 may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 312 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 3, computer system/server 312 in cloud computing node300 is shown in the form of a general-purpose computing device. Thecomponents of computer system/server 312 may include, but are notlimited to, one or more processors or processing units 316, a systemmemory 328, and a bus 318 that couples various system componentsincluding system memory 328 to processor 316.

Bus 318 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

Computer system/server 312 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 312, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 328 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 332. Computer system/server 312 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 334 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 318 by one or more datamedia interfaces. As will be further depicted and described below,memory 328 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 340, having a set (at least one) of program modules 342,may be stored in memory 328 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 342 generally carry out the functionsand/or methodologies of embodiments of the invention as describedherein.

Computer system/server 312 may also communicate with one or moreexternal devices 314 such as a keyboard, a pointing device, a display324, etc.; one or more devices that enable a user to interact withcomputer system/server 312; and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 312 to communicate withone or more other computing devices. Such communication can occur viaInput/Output (I/O) interfaces 322. Still yet, computer system/server 312can communicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 320. As depicted, network adapter 320communicates with the other components of computer system/server 312 viabus 318. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 312. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Referring now to FIG. 4, illustrative cloud computing environment 400 isdepicted. As shown, cloud computing environment 400 comprises one ormore cloud computing nodes 300 with which local computing devices usedby cloud consumers, such as, for example, personal digital assistant(PDA) or cellular telephone 402, desktop computer 404, laptop computer406, and/or automobile computer system 408 may communicate. Nodes 300may communicate with one another. They may be grouped (not shown)physically or virtually, in one or more networks, such as Private,Community, Public, or Hybrid clouds as described hereinabove, or acombination thereof. This allows cloud computing environment 400 tooffer infrastructure, platforms and/or software as services for which acloud consumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 402-408shown in FIG. 4 are intended to be illustrative only and that computingnodes 300 and cloud computing environment 400 can communicate with anytype of computerized device over any type of network and/or networkaddressable connection (e.g., using a web browser).

Referring now to FIG. 5, a set of functional abstraction layers providedby cloud computing environment 400 (FIG. 4) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 5 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Hardware and software layer 510 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 511;RISC (Reduced Instruction Set Computer) architecture based servers 512;servers 513; blade servers 514; storage devices 515; and networks andnetworking components 516. In some embodiments, software componentsinclude network application server software 517 and database software518.

Virtualization layer 520 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers521; virtual storage 522; virtual networks 523, including virtualprivate networks; virtual applications and operating systems 524; andvirtual clients 525.

In one example, management layer 530 may provide the functions describedbelow. Resource provisioning 531 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 532provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 533 provides access to the cloud computing environment forconsumers and system administrators. Service level management 534provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 535 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 540 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 541; software development and lifecycle management 542;virtual classroom education delivery 543; data analytics processing 544;transaction processing 545; and cognitive bias determination andmodeling program 200.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method for determining a preferred learningstyle of the user, the method comprising: receiving, by one or morecomputer processors, user information of a user; collecting, by one ormore computer processors, data for user model development, wherein dataincludes actions performed by the user; creating, by one or morecomputer processors, one or more associations between actions in thecollected data for user model development and received user information;and determining, by one or more computer processors, a preferredlearning style of the user based on the created one or moreassociations.
 2. The method of claim 1, further comprising: determining,by one or more computer processors, a user model from one or moreexisting user models that is associated with the received userinformation; applying, by one or more computer processors, thedetermined user model to modify information displayed to the user; andwherein the user model from one or more existing user models modifiesthe presentation of information to the user comprising on one of moreof: learning styles, user preferences, user information, user states,features, and relationships between content and users based on sourceapplication, content, and destination application information asprovided through actions performed by the user.
 3. The method of claim1, wherein receiving user information further comprises: receiving, byone or more computer processors, user information that comprises one ormore of demographic information and public information; wherein thedemographic information includes at least one of: an age range, agender, an education level, and a profession associated with the user;and wherein the public information includes at least one of comprises ajob role, a job title, a department, and a peer group associated withthe user.
 4. The method of claim 2, wherein determining the user modelfrom the one or more existing user models that is associated with thereceived user information further comprises: determining, by one or morecomputer processors, whether the received user information matchesstored existing user information associated with a user model from theone or more existing user models; and responsive to determining thereceived user information matches stored existing user informationassociated with the user model from the one or more existing usermodels, retrieving, by one or more computer processors, a user modelassociated with the stored existing user information that matches thereceived user information.
 5. The method of claim 2, wherein determiningthe user model from the one or more existing user models that isassociated with the received user information further comprises:determining, by one or more computer processors, whether the receiveduser information matches stored existing user information associatedwith a user model from the one or more existing user models; responsiveto determining the received user information does not match storedexisting user information associated with the user model from the one ormore existing user models, determining, by one or more computerprocessor, stored existing user information that is similar to thereceived user information; and selecting, by one or more computerprocessors, a user model that is associated with the determined existinguser information that is similar.
 6. The method of claim 1, whereincollecting data for user model development further comprises: gathering,by one or more computer processors, the actions performed by the userand information associated with the actions, wherein the actions includecopying, cutting, and pasting the information on a clipboard;determining, by one or more computer processors, the information from afirst user action that is placed on the clipboard; storing, by one ormore computer processors, the determined information placed on theclipboard and application software associated with the first useraction; determining, by one or more computer processors, informationthat is transferred from the clipboard through a second user action; andstoring, by one or more computer processors, the determined informationand application software associated with the second user action.
 7. Themethod of claim 1, wherein determining a preferred learning style of theuser based on the created one or more associations further comprises:extracting, by one or more computer processors, features from thecollected data; identifying, by one or more computer processors, salienttopics from the extracted features; and applying, by one or morecomputer processors, a density model to the identified salient topics todetermine learning styles.
 8. A computer program product for determininga preferred learning style of the user, the computer program productcomprising: one or more computer readable storage media and programinstructions stored on the one or more computer readable storage media,the program instructions comprising: program instructions to receiveuser information of a user; program instructions to collect data foruser model development, wherein data includes actions performed by theuser; program instructions to create one or more associations betweenactions in the collected data for user model development and receiveduser information; and program instructions to determine a preferredlearning style of the user based on the created one or moreassociations.
 9. The computer program product of claim 8, furthercomprises program instructions, stored on the one or more computerreadable storage media, to: determine a user model from one or moreexisting user models that is associated with the received userinformation; apply the determined user model to modify informationdisplayed to the user; and wherein the user model from one or moreexisting user models modifies the presentation of information to theuser comprising on one of more of: learning styles, user preferences,user information, user states, features, and relationships betweencontent and users based on source application, content, and destinationapplication information as provided through actions performed by theuser.
 10. The computer program product of claim 8, wherein receivinguser information further comprises program instructions, stored on theone or more computer readable storage media, to: receive userinformation that comprises one or more of demographic information andpublic information; wherein the demographic information includes atleast one of: an age range, a gender, an education level, and aprofession associated with the user; and wherein the public informationincludes at least one of comprises a job role, a job title, adepartment, and a peer group associated with the user.
 11. The computerprogram product of claim 9, wherein determining the user model from theone or more existing user models that is associated with the receiveduser information further comprises program instructions, stored on theone or more computer readable storage media, to: determine whether thereceived user information matches stored existing user informationassociated with a user model from the one or more existing user models;and responsive to determining the received user information matchesstored existing user information associated with the user model from theone or more existing user models, retrieve a user model associated withthe stored existing user information that matches the received userinformation.
 12. The computer program product of claim 9, whereindetermining the user model from the one or more existing user modelsthat is associated with the received user information further comprisesprogram instructions, stored on the one or more computer readablestorage media, to: determine whether the received user informationmatches stored existing user information associated with a user modelfrom the one or more existing user models; responsive to determining thereceived user information does not match stored existing userinformation associated with the user model from the one or more existinguser models, determine stored existing user information that is similarto the received user information; and select a user model that isassociated with the determined existing user information that issimilar.
 13. The computer program product of claim 8, wherein collectingdata for user model development further comprises program instructions,stored on the one or more computer readable storage media, to: gatherthe actions performed by the user and information associated with theactions, wherein the actions include copying, cutting, and pasting theinformation on a clipboard; determine the information from a first useraction that is placed on the clipboard; store the determined informationplaced on the clipboard and application software associated with thefirst user action; determine information that is transferred from theclipboard through a second user action; and store the determinedinformation and application software associated with the second useraction.
 14. The computer program product of claim 8, wherein determininga preferred learning style of the user based on the created one or moreassociations further comprises program instructions, stored on the oneor more computer readable storage media, to: extract features from thecollected data; identify salient topics from the extracted features; andapplying a density model to the identified salient topics to determinelearning styles.
 15. A computer system for determining a preferredlearning style of the user, the computer system comprising: one or morecomputer processors, one or more computer readable storage media, andprogram instructions stored on the computer readable storage media forexecution by at least one of the one or more processors, the programinstructions comprising: program instructions to receive userinformation of a user; program instructions to collect data for usermodel development, wherein data includes actions performed by the user;program instructions to create one or more associations between actionsin the collected data for user model development and received userinformation; and program instructions to determine a preferred learningstyle of the user based on the created one or more associations.
 16. Thecomputer system of claim 15, further comprises program instructions,stored on the one or more computer readable storage media, to: determinea user model from one or more existing user models that is associatedwith the received user information; apply the determined user model tomodify information displayed to the user; and wherein the user modelfrom one or more existing user models modifies the presentation ofinformation to the user comprising on one of more of: learning styles,user preferences, user information, user states, features, andrelationships between content and users based on source application,content, and destination application information as provided throughactions performed by the user.
 17. The computer system of claim 16,wherein determining the user model from the one or more existing usermodels that is associated with the received user information furthercomprises program instructions, stored on the one or more computerreadable storage media, to: determine whether the received userinformation matches stored existing user information associated with auser model from the one or more existing user models; and responsive todetermining the received user information matches stored existing userinformation associated with the user model from the one or more existinguser models, retrieve a user model associated with the stored existinguser information that matches the received user information.
 18. Thecomputer system of claim 16, determining the user model from the one ormore existing user models that is associated with the received userinformation further comprises program instructions, stored on the one ormore computer readable storage media, to: determine whether the receiveduser information matches stored existing user information associatedwith a user model from the one or more existing user models; responsiveto determining the received user information does not match storedexisting user information associated with the user model from the one ormore existing user models, determine stored existing user informationthat is similar to the received user information; and select a usermodel that is associated with the determined existing user informationthat is similar.
 19. The computer system of claim 15, wherein collectingdata for user model development further comprises program instructions,stored on the one or more computer readable storage media, to: gatherthe actions performed by the user and information associated with theactions, wherein the actions include copying, cutting, and pasting theinformation on a clipboard; determine the information from a first useraction that is placed on the clipboard; store the determined informationplaced on the clipboard and application software associated with thefirst user action; determine information that is transferred from theclipboard through a second user action; and store the determinedinformation and application software associated with the second useraction.
 20. The computer system of claim 15, wherein determining apreferred learning style of the user based on the created one or moreassociations further comprises program instructions, stored on the oneor more computer readable storage media, to: extract features from thecollected data; identify salient topics from the extracted features; andapplying a density model to the identified salient topics to determinelearning styles.